import Vue from 'vue'
import confirm from './index.vue'
const confirmConstructor = Vue.extend(confirm)
const theConfirm = function(content) {
  return new Promise((resole, reject) => {
    // promise封装，ok执行resolve，no执行rejectlet
    // eslint-disable-next-line new-cap
    const confirmDom = new confirmConstructor({
      el: document.createElement('div')
    })
    document.body.appendChild(confirmDom.$el)
    // new 一个对象，然后插入body里面
    confirmDom.content = { ...confirmDom.content, ... content } // 为了使confirm的扩展性更强，这个采用对象的方式传入，所有的字段都可以根据需求自定义
    // confirmDom.content = content // 为了使confirm的扩展性更强，这个采用对象的方式传入，所有的字段都可以根据需求自定义
    confirmDom.ok = (value) => {
      content.callback(value).then(res => {
        confirmDom.isShow = false
        return res
      }).catch(err => {
        return err
      })
    }
    confirmDom.close = () => {
      reject()
      confirmDom.isShow = false
    }
  })
}
export default theConfirm
